package com.tchhy.provider.net.interceptor

import android.text.TextUtils
import com.tchhy.provider.URLConstant
import okhttp3.Interceptor
import okhttp3.Response


/**
 *
 *
 * Cache-Control：
 *
 * 1、服务器返回
 * 2、我们在网络拦截器修改响应头信息，例如：Cache-Control = 60，就相当于服务器告知客户端我这些数据需要缓存60s
 *
 * <p>
 * Author: wfy
 *
 *
 */
class CacheNetworkInterceptor : Interceptor {
    override fun intercept(chain: Interceptor.Chain): Response {
        //无缓存,进行缓存
        val header = chain.request().header(URLConstant.RESP_CACHE_CONTROL)
        return chain.proceed(chain.request()).newBuilder()
                .removeHeader("Pragma")
                .addHeader("Cache-Control", "max-age=${if (!TextUtils.isEmpty(header)) header else "60"}")//对请求进行最大60秒的缓存，就相当于服务器告知客户端
                .build()
    }
}